class AttrAndFunCode {
  // ATTR TYPE
  static const int ATTR_TYPE_PROTOCOL_VERSION = 0;
  static const int ATTR_TYPE_POWER_UP_SYS_INFO = 1;
  static const int ATTR_TYPE_EDR_ADDR = 2;
  static const int ATTR_TYPE_PLATFORM = 3;
  static const int ATTR_TYPE_FUNCTION_INFO = 4;
  static const int ATTR_TYPE_FIRMWARE_INFO = 5;
  static const int ATTR_TYPE_SDK_TYPE = 6;
  static const int ATTR_TYPE_UBOOT_VERSION = 7;
  static const int ATTR_TYPE_SUPPORT_DOUBLE_BACKUP = 8;
  static const int ATTR_TYPE_MANDATORY_UPGRADE_FLAG = 9;
  static const int ATTR_TYPE_VID_AND_PID = 10;
  static const int ATTR_TYPE_AUTH_KEY = 11;
  static const int ATTR_TYPE_PROJECT_CODE = 12;
  static const int ATTR_TYPE_PROTOCOL_MTU = 13;
  static const int ATTR_TYPE_ALLOW_CONNECT = 14;
  @Deprecated('Deprecated in original Java class')
  static const int ATTR_TYPE_NAME = 16;
  static const int ATTR_TYPE_CONNECT_BLE_ONLY = 17;
  static const int ATTR_TYPE_PERIPHERALS_SUPPORT = 18;
  static const int ATTR_TYPE_DEV_SUPPORT_FUNC = 19;
  static const int ATTR_TYPE_RECODE_FILE_TRANSFER = 20;
  static const int ATTR_TYPE_FILE_TRANSFER = 21;
  static const int ATTR_TYPE_CUSTOM_VER = 31;

  static const int HOST_ATTR_TYPE_SPEECH_FAST_MODE = 0;

  // SYS_INFO_FUNCTION_*
  static const int SYS_INFO_FUNCTION_PUBLIC = -1;
  static const int SYS_INFO_FUNCTION_BT = 0;
  static const int SYS_INFO_FUNCTION_MUSIC = 1;
  static const int SYS_INFO_FUNCTION_RTC = 2;
  static const int SYS_INFO_FUNCTION_AUX = 3;
  static const int SYS_INFO_FUNCTION_FM = 4;
  static const int SYS_INFO_FUNCTION_LIGHT = 5;
  static const int SYS_INFO_FUNCTION_FMTX = 6;
  static const int SYS_INFO_FUNCTION_EQ = 7;
  static const int SYS_INFO_FUNCTION_SPDIF = 8;
  static const int SYS_INFO_FUNCTION_PC_SLAVE = 9;
  static const int SYS_INFO_FUNCTION_LOW_POWER = 22;

  // SYS_INFO_ATTR_*
  static const int SYS_INFO_ATTR_BATTERY = 0;
  static const int SYS_INFO_ATTR_VOLUME = 1;
  static const int SYS_INFO_ATTR_MUSIC_DEV_STATUS = 2;
  static const int SYS_INFO_ATTR_ERR = 3;
  static const int SYS_INFO_ATTR_EQ = 4;
  static const int SYS_INFO_ATTR_FILE_TYPE = 5;
  static const int SYS_INFO_ATTR_CUR_MODE_TYPE = 6;
  static const int SYS_INFO_ATTR_LIGHT = 7;
  static const int SYS_INFO_ATTR_FM_TX = 8;
  static const int SYS_INFO_ATTR_EMITTER_MODE = 9;
  static const int SYS_INFO_ATTR_EMITTER_CONNECT_STATUS = 10;
  static const int SYS_INFO_ATTR_HIGH_AND_BASS = 11;
  static const int SYS_INFO_ATTR_EQ_PRESET_VALUE = 12;
  static const int SYS_INFO_ATTR_CURRENT_NOISE_MODE = 13;
  static const int SYS_INFO_ATTR_ALL_NOISE_MODE = 14;
  static const int SYS_INFO_ATTR_PHONE_STATUS = 15;
  static const int SYS_INFO_ATTR_FIXED_LEN_DATA_FUN = 16;
  static const int SYS_INFO_ATTR_SOUND_CARD_EQ_FREQ = 17;
  static const int SYS_INFO_ATTR_SOUND_CARD_EQ_GAIN = 18;
  static const int SYS_INFO_ATTR_SOUND_CARD = 19;
  static const int SYS_INFO_ATTR_HEARING_ASSIST = 20;
  static const int SYS_INFO_ATTR_ADAPTIVE_ANC = 21;
  static const int SYS_INFO_ATTR_SMART_NO_PICK = 22;
  static const int SYS_INFO_ATTR_SCENE_DENOISE = 23;
  static const int SYS_INFO_ATTR_WIND_NOISE_DETECTION = 24;
  static const int SYS_INFO_ATTR_VOCAL_BOOSTER = 25;
  static const int SYS_INFO_ATTR_AI = 26;
  static const int SYS_INFO_ATTR_DOUBLE_CONNECT = 27;

  // ID3 Info
  static const int SYS_INFO_ATTR_ID3_TITLE = 0;
  static const int SYS_INFO_ATTR_ID3_ARTIST = 1;
  static const int SYS_INFO_ATTR_ID3_ALBUM = 2;
  static const int SYS_INFO_ATTR_ID3_NUMBER = 3;
  static const int SYS_INFO_ATTR_ID3_TOTAL = 4;
  static const int SYS_INFO_ATTR_ID3_GENRE = 5;
  static const int SYS_INFO_ATTR_ID3_TOTAL_TIME = 6;
  static const int SYS_INFO_ATTR_ID3_PLAY_STATUS = 7;
  static const int SYS_INFO_ATTR_ID3_CURRENT_TIME = 8;

  // Music Info
  static const int SYS_INFO_ATTR_MUSIC_STATUS_INFO = 0;
  static const int SYS_INFO_ATTR_MUSIC_FILE_NAME_INFO = 1;
  static const int SYS_INFO_ATTR_MUSIC_PLAY_MODE = 2;

  // RTC
  static const int SYS_INFO_ATTR_RTC_TIME = 0;
  static const int SYS_INFO_ATTR_RTC_ALARM = 1;
  static const int SYS_INFO_ATTR_RTC_CURRENT_ALARM_INDEX = 2;
  static const int SYS_INFO_ATTR_RTC_STOP_ALARM = 3;
  static const int SYS_INFO_ATTR_RTC_ALARM_VER = 4;
  static const int SYS_INFO_ATTR_RTC_ALARM_DEFAULT_BELL_LIST = 5;
  static const int SYS_INFO_ATTR_RTC_ALARM_AUDITION = 6;
  static const int SYS_INFO_ATTR_RTC_ALARM_EXPAND_FLAG = 7;

  static const int SYS_INFO_ATTR_AUX_STATU = 0;
  static const int SYS_INFO_ATTR_FM_STATU = 0;
  static const int SYS_INFO_ATTR_FM_FRE_INFO = 1;
  static const int SYS_INFO_ATTR_SPDIF_STATUS = 0;
  static const int SYS_INFO_ATTR_SPDIF_AUDIO_SOURCE = 1;
  static const int SYS_INFO_ATTR_PC_SLAVE_STATUS = 0;
  static const int SYS_INFO_ATTR_PC_SLAVE_PLAY_PREV_OR_NEXT = 1;

  // FUNCTION CMD
  static const int FUNCTION_PUBLIC_CMD_SWITCH_BT_MODE = 0;
  static const int FUNCTION_PUBLIC_CMD_SWITCH_MUSIC_MODE = 1;
  static const int FUNCTION_PUBLIC_CMD_SWITCH_RTC_MODE = 2;
  static const int FUNCTION_PUBLIC_CMD_SWITCH_LINE_IN_MODE = 3;
  static const int FUNCTION_PUBLIC_CMD_SWITCH_FM_MODE = 4;
  static const int FUNCTION_PUBLIC_CMD_SWITCH_SPDIF_MODE = 5;
  static const int FUNCTION_PUBLIC_CMD_SWITCH_PC_SLAVE_MODE = 6;

  static const int FUNCTION_BT_CMD_ID3_PLAY_OR_PAUSE = 1;
  static const int FUNCTION_BT_CMD_ID3_PLAY_PREV = 2;
  static const int FUNCTION_BT_CMD_ID3_PLAY_NEXT = 3;
  static const int FUNCTION_BT_CMD_ID3_DATA_PUSH_SWITCH = 4;

  static const int FUNCTION_MUSIC_CMD_PLAY_OR_PAUSE = 1;
  static const int FUNCTION_MUSIC_CMD_PLAY_PREV = 2;
  static const int FUNCTION_MUSIC_CMD_PLAY_NEXT = 3;
  static const int FUNCTION_MUSIC_CMD_NEXT_PLAYMODE = 4;
  static const int FUNCTION_MUSIC_CMD_NEXT_EQ_MODE = 5;
  static const int FUNCTION_MUSIC_CMD_RETREAT_QUICKLY = 6;
  static const int FUNCTION_MUSIC_CMD_FAST_FORWARD = 7;

  static const int FUNCTION_BT_CMD_RESTORE_STATUS = 1;
  static const int FUNCTION_BT_CMD_RESTORE_STATUS_RESTORE = 0;
  static const int FUNCTION_BT_CMD_RESTORE_STATUS_RESTORE_MODE = 1;
  static const int FUNCTION_BT_CMD_RESTORE_STATUS_RESTORE_PLAY_PREV = 2;
  static const int FUNCTION_BT_CMD_RESTORE_STATUS_RESTORE_PLAY_NEXT = 3;
  static const int FUNCTION_BT_CMD_RESTORE_STATUS_RESTORE_PAUSE = 4;
  static const int FUNCTION_BT_CMD_RESTORE_STATUS_RESTORE_PLAY = 5;

  static const int FUNCTION_AUX_CMD_PAUSE_OR_PLAY = 1;

  static const int FUNCTION_FM_CMD_PLAY_OR_PAUSE = 1;
  static const int FUNCTION_FM_CMD_PREV_FREQ = 2;
  static const int FUNCTION_FM_CMD_NEXT_FREQ = 3;
  static const int FUNCTION_FM_CMD_PREV_CHANNEL = 4;
  static const int FUNCTION_FM_CMD_NEXT_CHANNEL = 5;
  static const int FUNCTION_FM_CMD_FREQ_SCAN = 6;
  static const int FUNCTION_FM_CMD_SELECT_CHANNEL = 7;
  static const int FUNCTION_FM_CMD_DEL_CHANNEL = 8;
  static const int FUNCTION_FM_CMD_SELECT_FREQL = 9;

  // ADV
  static const int ADV_TYPE_BATTERY_QUANTITY = 0;
  static const int ADV_TYPE_DEVICE_NAME = 1;
  static const int ADV_TYPE_KEY_SETTINGS = 2;
  static const int ADV_TYPE_LED_SETTINGS = 3;
  static const int ADV_TYPE_MIC_CHANNEL_SETTINGS = 4;
  static const int ADV_TYPE_WORK_MODE = 5;
  static const int ADV_TYPE_PRODUCT_MESSAGE = 6;
  static const int ADV_TYPE_CONNECTED_TIME = 7;
  static const int ADV_TYPE_IN_EAR_CHECK = 8;
  static const int ADV_TYPE_LANGUAGE = 9;
  static const int ADV_TYPE_ANC_MODE_LIST = 10;

  static const int KEY_FUNC_ID_SWITCH_ANC_MODE = 255;

  // FIXED LEN DATA
  static const int FIXED_LEN_DATA_TYPE_REVERBERATION = 0;
  static const int FIXED_LEN_DATA_TYPE_DYNAMIC_LIMITER = 1;
  static const int FIXED_LEN_DATA_TYPE_SOUND_CARD_EFFECT = 2;
  static const int FIXED_LEN_DATA_TYPE_SOUND_CARD_ATMOSPHERE = 3;
  static const int FIXED_LEN_DATA_TYPE_SOUND_CARD_MIC_ARG = 4;
}
